Today, because of the importance of conveying images from one computer system to another, such as over the Internet, managing the color reproduction properties of color imaging peripherals or input devices, such as scanners and cameras, has also become important. Color management software uses device description data called "profiles" to describe the color rendering properties of the device. These profiles typically include a multidimensional interpolation table that transforms input device code values, such as RGB, into a CIE colorimetric color space such as CIELAB or CIE XYZ. Such a table is often built using a multi-dimensional polynomial model. Like the table, the model also transforms the code values into colorimetry.
The polynomial model is fit using measurements and data captured from the device to be modeled, the "characterization data." The use of a polynomial having a number of coefficients provides a convenient way to smooth out noise from the imaging device. The polynomial also allows one to predict device performance for code values in-between the values for which measurements are available. Using the polynomial in this way is called "interpolation" as long as there are measured values that surround the point at which the model is to be evaluated. When using the polynomial for values outside of the domain for which measurements are available the process is called "extrapolation." Because of the lack of surrounding measurements, extrapolation often produces much poorer results than interpolation.
When modeling an "output" device such as a color printer, one can easily collect data for the entire range of code value combinations that the device can print. One simply creates a digital target image that includes all the desired code values, prints it using the device, and measures the resulting colors. However, for an "input" device such as a digital camera or a scanner that digitizes an image from photographic or other input materials, it is difficult to collect data for the entire range of potential code values. For example, the input device can probably resolve colors much lighter than a diffuse white object in the scene being captured. Since data is typically collected from a color chart positioned somewhere in the scene, this implies that the color chart must somehow provide these very high reflectances. Even if this could be done using a self-luminous color chart or using special lighting or exposure techniques, it would be very cumbersome. To sum up, no practical color chart contains colors as bright, dark, or vivid as those of the real world.
Because of these difficulties, the characterization data used to fit mathematical models for input devices is incomplete. However, when building a profile for the device, one must anticipate the presence of values that are outside the domain covered by the characterization data. This means that the model must be used for extrapolating beyond the domain of the characterization data. This places much greater demands on the model than if it were only to be used for simply interpolating for values that are in-between measured values and still within their domain (or "convex hull"). As a result, the overall performance of the resulting profiles is compromised.
What is needed is an approach that allows the model to be accurately extended into regions where measured data is not available.